// 插件 store/calibStore.ts（组合式 API 版本）
import { defineStore } from 'pinia';
import { ref } from 'vue';
import type { CommandSender } from '../commandHelper';

// 定义命令发送器的类型（与之前保持一致）
type SendDeviceCmd = CommandSender<any, any> | null;

// 组合式 API 风格的 store（使用 setup 函数）
export const useDeviceStore = defineStore('deviceInjection', () => {
  // 状态：存储平台注入的 sendCalibCmd（初始为 null）
  const sendDeviceCmd = ref<SendDeviceCmd>(null);

  // 方法：设置注入的资源（支持部分更新）
  const setInjections = (injections: { sendDeviceCmd?: SendDeviceCmd }) => {
    if (injections.sendDeviceCmd) {
      sendDeviceCmd.value = injections.sendDeviceCmd;
    }
  };

  // 暴露状态和方法（组合式 API 需显式 return）
  return {
    sendDeviceCmd,
    setInjections
  };
});